package com.qiuyuliantu.base.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qiuyuliantu.common.annotation.Excel;
import com.qiuyuliantu.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 日记条目主对象 qiu_diary_entries
 *
 * @author 晓君
 * @date 2025-03-26
 */
public class QiuDiaryEntries extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 日记条目ID */
    private Long entryId;

    /** 指定可看 */
    @Excel(name = "指定可看")
    private String userId;

    private Long userIdLong;

    /** 目标ID */
    @Excel(name = "目标ID")
    private String goalsModelId;

    /** 相关目标 */
    @Excel(name = "相关目标")
    private String goalsName;

    /** 日记标题 */
    @Excel(name = "日记标题")
    private String title;

    /** 文本 */
    @Excel(name = "文本")
    private String content;

    /** 富文本 */
    @Excel(name = "富文本")
    private String richContent;

    /** 日记类型 */
    @Excel(name = "日记类型")
    private String entryType;

    /** 当时心情 */
    @Excel(name = "当时心情")
    private String mood;

    /** 天气情况 */
    @Excel(name = "天气情况")
    private String weather;

    /** 地理位置 */
    @Excel(name = "地理位置")
    private String location;

    /** 是否私有 */
    @Excel(name = "是否私有")
    private Integer isPrivate;

    /** 是否收藏 */
    @Excel(name = "是否收藏")
    private Integer isFavorite;

    /** 是否设置了纪念日提醒 */
    @Excel(name = "是否设置了纪念日提醒")
    private Integer hasReminder;

    /** 纪念日提醒日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "纪念日提醒日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reminderDate;

    /** 图片路径数组 */
    private String imagePaths;

    /** 视频路径数组 */
    private String videoPaths;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setEntryId(Long entryId)
    {
        this.entryId = entryId;
    }

    public Long getEntryId()
    {
        return entryId;
    }
    public void setUserId(String userId)
    {
        this.userId = userId;
    }

    public String getUserId()
    {
        return userId;
    }
    public void setGoalsModelId(String goalsModelId)
    {
        this.goalsModelId = goalsModelId;
    }

    public String getGoalsModelId()
    {
        return goalsModelId;
    }
    public void setGoalsName(String goalsName)
    {
        this.goalsName = goalsName;
    }

    public String getGoalsName()
    {
        return goalsName;
    }
    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }
    public void setContent(String content)
    {
        this.content = content;
    }

    public String getContent()
    {
        return content;
    }
    public void setRichContent(String richContent)
    {
        this.richContent = richContent;
    }

    public String getRichContent()
    {
        return richContent;
    }
    public void setEntryType(String entryType)
    {
        this.entryType = entryType;
    }

    public String getEntryType()
    {
        return entryType;
    }
    public void setMood(String mood)
    {
        this.mood = mood;
    }

    public String getMood()
    {
        return mood;
    }
    public void setWeather(String weather)
    {
        this.weather = weather;
    }

    public String getWeather()
    {
        return weather;
    }
    public void setLocation(String location)
    {
        this.location = location;
    }

    public String getLocation()
    {
        return location;
    }
    public void setIsPrivate(Integer isPrivate)
    {
        this.isPrivate = isPrivate;
    }

    public Integer getIsPrivate()
    {
        return isPrivate;
    }
    public void setIsFavorite(Integer isFavorite)
    {
        this.isFavorite = isFavorite;
    }

    public Integer getIsFavorite()
    {
        return isFavorite;
    }
    public void setHasReminder(Integer hasReminder)
    {
        this.hasReminder = hasReminder;
    }

    public Integer getHasReminder()
    {
        return hasReminder;
    }
    public void setReminderDate(Date reminderDate)
    {
        this.reminderDate = reminderDate;
    }

    public Date getReminderDate()
    {
        return reminderDate;
    }
    public void setImagePaths(String imagePaths)
    {
        this.imagePaths = imagePaths;
    }

    public String getImagePaths()
    {
        return imagePaths;
    }
    public void setVideoPaths(String videoPaths)
    {
        this.videoPaths = videoPaths;
    }

    public String getVideoPaths()
    {
        return videoPaths;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public Long getUserIdLong() {
        return userIdLong;
    }

    public void setUserIdLong(Long userIdLong) {
        this.userIdLong = userIdLong;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("entryId", getEntryId())
            .append("userId", getUserId())
            .append("goalsModelId", getGoalsModelId())
            .append("goalsName", getGoalsName())
            .append("title", getTitle())
            .append("content", getContent())
            .append("richContent", getRichContent())
            .append("entryType", getEntryType())
            .append("mood", getMood())
            .append("weather", getWeather())
            .append("location", getLocation())
            .append("isPrivate", getIsPrivate())
            .append("isFavorite", getIsFavorite())
            .append("hasReminder", getHasReminder())
            .append("reminderDate", getReminderDate())
            .append("imagePaths", getImagePaths())
            .append("videoPaths", getVideoPaths())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }


}
